package edu.pe.cayetano.plugin;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

import javax.servlet.ServletException;

import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;

import edu.pe.cayetano.framework.Configuration;

public class ApplicationPlugin implements PlugIn{

	private static Properties config;
	
	private String rutaArchivoConfig;
	private String archivoConfiguracion;
	
	public void init(ActionServlet arg0, ModuleConfig arg1) throws ServletException {
		rutaArchivoConfig=arg0.getServletContext().getRealPath(File.separator+"WEB-INF"+File.separator+getArchivoConfiguracion());
		cargarConfiguracion();
	}
	private void cargarConfiguracion(){
		config = new Properties();
		FileInputStream stream = null;
		try{
			stream = new FileInputStream(rutaArchivoConfig);
		}
		catch(FileNotFoundException e){
			System.out.println("[APPLICATIONPLUGIN]No se encontro el archivo de configuracion Principal : " + getArchivoConfiguracion());
		}
		try{
			config.load(stream);
			stream.close();
		}
		catch(IOException e1){
			System.out.println("[APPLICATIONPLUGIN]Error al cargar el archivo principal de configuracion:"+e1);
		}
		//Configuration.cargarLog4j(config.getProperty("log4j.file"));
		Configuration.setSchemaDB(config.getProperty("schema.bd"));
		Configuration.setConnectionType(config.getProperty("connection.type"));
		Configuration.setConnectionDB(config.getProperty("connection.db"));
		Configuration.setTipoLog(config.getProperty("tipo.log"));
		Configuration.setRangoAsignacionCita(config.getProperty("rango.asignacion.cita"));
	}	
	
	public String getArchivoConfiguracion() {
		return archivoConfiguracion;
	}

	public void setArchivoConfiguracion(String string) {
		archivoConfiguracion = string;
	}

	public void destroy(){}
}
